package com.ms.oschina.base;

import android.view.View;

/***
 * @param <E>
 *            list数据的泛型
 */
public abstract class BaseViewHolder<T> {

	private View mRootView;

	public BaseViewHolder() {
		mRootView = initView();
		if (mRootView != null) {
			// 绑定控件
			mRootView.setTag(this);
		} else {
			throw new NullPointerException();
		}
		initEvent();
	}

	public void initEvent() {
	}

	public View getRootView() {
		return mRootView;
	}

	public abstract View initView();

	/**
	 * 触发加载数据
	 * 
	 * @param position
	 *            可以null
	 * @param data
	 *            可以null
	 */
	public void setData(int position, T data){
		
	}
}
